package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 普查问卷问题对象 sys_general_survey
 * 
 * @author ruoyi
 * @date 2022-05-11
 */
public class SysGeneralSurvey extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 问题id */
    private Long questionId;

    private Long companyId;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /** 问题分值 */
    @Excel(name = "问题分值")
    private Long score;

    /** 问题题目 */
    @Excel(name = "问题题目")
    private String label;

    /** 问题类型 */
    @Excel(name = "问题类型")
    private String type;

    /** 问题选项 */
    @Excel(name = "问题选项")
    private String options;

    /** 字典编码 */
    @Excel(name = "字典编码")
    private Long level;

    /** 领域Id */
    @Excel(name = "领域Id")
    private Long domain;

    /** 问题描述 */
    @Excel(name = "问题描述")
    private String questionDesc;

    /** 问题建议 */
    @Excel(name = "问题建议")
    private String advice;

    /** 默认值 */
    @Excel(name = "默认值")
    private String defaultValue;

    /** 验证规则 */
    @Excel(name = "验证规则")
    private String reglist;

    /** 问题状态（0正常 1停用） */
    @Excel(name = "问题状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 是否只读 */
    @Excel(name = "是否只读")
    private String readonly;

    /** 是否可用 */
    @Excel(name = "是否可用")
    private String disabled;

    /** 是否必须 */
    @Excel(name = "是否必须")
    private String required;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private List<SysGeneralnaireRecord> records;

    public void setQuestionId(Long questionId) 
    {
        this.questionId = questionId;
    }

    public Long getQuestionId() 
    {
        return questionId;
    }
    public void setOrderNum(Integer orderNum) 
    {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() 
    {
        return orderNum;
    }
    public void setScore(Long score) 
    {
        this.score = score;
    }

    public Long getScore() 
    {
        return score;
    }
    public void setLabel(String label) 
    {
        this.label = label;
    }

    public String getLabel() 
    {
        return label;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setOptions(String options) 
    {
        this.options = options;
    }

    public String getOptions() 
    {
        return options;
    }
    public void setLevel(Long level) 
    {
        this.level = level;
    }

    public Long getLevel() 
    {
        return level;
    }
    public void setDomain(Long domain) 
    {
        this.domain = domain;
    }

    public Long getDomain() 
    {
        return domain;
    }
    public void setQuestionDesc(String questionDesc) 
    {
        this.questionDesc = questionDesc;
    }

    public String getQuestionDesc() 
    {
        return questionDesc;
    }
    public void setAdvice(String advice) 
    {
        this.advice = advice;
    }

    public String getAdvice() 
    {
        return advice;
    }
    public void setDefaultValue(String defaultValue) 
    {
        this.defaultValue = defaultValue;
    }

    public String getDefaultValue() 
    {
        return defaultValue;
    }
    public void setReglist(String reglist) 
    {
        this.reglist = reglist;
    }

    public String getReglist() 
    {
        return reglist;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setReadonly(String readonly) 
    {
        this.readonly = readonly;
    }

    public String getReadonly() 
    {
        return readonly;
    }
    public void setDisabled(String disabled) 
    {
        this.disabled = disabled;
    }

    public String getDisabled() 
    {
        return disabled;
    }
    public void setRequired(String required) 
    {
        this.required = required;
    }

    public String getRequired() 
    {
        return required;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<SysGeneralnaireRecord> getRecords() {
        return records;
    }

    public void setRecords(List<SysGeneralnaireRecord> records) {
        this.records = records;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("questionId", getQuestionId())
            .append("orderNum", getOrderNum())
            .append("score", getScore())
            .append("label", getLabel())
            .append("type", getType())
            .append("options", getOptions())
            .append("level", getLevel())
            .append("domain", getDomain())
            .append("questionDesc", getQuestionDesc())
            .append("advice", getAdvice())
            .append("defaultValue", getDefaultValue())
            .append("reglist", getReglist())
            .append("status", getStatus())
            .append("readonly", getReadonly())
            .append("disabled", getDisabled())
            .append("required", getRequired())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
